<?php
declare(strict_types=1);

namespace Dreamcat\ApiDoc;

use Dreamcat\ApiDoc\Error\SaverException;
use Dreamcat\ApiDoc\Popo\ApiDefinition;

/**
 * 文档保存器
 * @author vijay
 */
interface DocSaverInterface
{
    /**
     * 开始保存
     * @return void
     * @throws SaverException
     */
    public function start(): void;

    /**
     * 保存文档
     * @param ApiDefinition $apiDefinition 接口定义
     * @return void
     * @throws SaverException
     */
    public function saveApiDefinition(ApiDefinition $apiDefinition): void;

    /**
     * 结束保存
     * @return void
     * @throws SaverException
     */
    public function end(): void;
}

# end of file
